﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace ControlDeAsistencia
{
    class Provincia
    {
        private int idProvincia;

        public int IdProvincia
        {
            get { return idProvincia; }
            set { idProvincia = value; }
        }
        private string nombreProvincia;

        public string NombreProvincia
        {
            get { return nombreProvincia; }
            set { nombreProvincia = value; }
        }

        public Provincia()
        {

        }

        public Provincia(int idProvincia, string nombreProvincia)
        {
            this.IdProvincia = idProvincia;
            this.NombreProvincia = nombreProvincia;
        }

        public void insertar()
        {
            AccesoDatos bd = new AccesoDatos();
            bd.ejecutarConsulta("INSERT INTO Provincias VALUES(" + this.IdProvincia + ", '" + this.NombreProvincia + "')");
        }

        public void actualizar()
        {
            AccesoDatos bd = new AccesoDatos();
            bd.ejecutarConsulta("UPDATE Provincias SET nombreProvincia = '" + this.NombreProvincia + "' WHERE idProvincia = " + this.IdProvincia);

        }

        public Provincia(int idProvincia)
        {
            AccesoDatos bd = new AccesoDatos();
            DataTable dt = bd.obtenerDatos("SELECT * FROM Provincias WHERE idProvincia = " + idProvincia);
            if (dt.Rows.Count == 0) return;
            this.IdProvincia = int.Parse(dt.Rows[0]["idProvincia"].ToString());// parse = convertir un tipo de dato a otro tipo
            // en este caso convierte el string a int
            this.NombreProvincia = dt.Rows[0]["nombreProvincia"].ToString();
        }

        public static List<Provincia> obtenerProvincias()
        {
            List<Provincia> provincias = new List<Provincia>();

            AccesoDatos bd = new AccesoDatos();
            DataTable dt = bd.obtenerDatos("SELECT * FROM Provincias");
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                provincias.Add(new Provincia(int.Parse(dt.Rows[i]["idProvincia"].ToString()), dt.Rows[i]["nombreProvincia"].ToString()));
            }
            return provincias;
        }

        public static DataTable obtenerProvinciasDT()
        {
            AccesoDatos bd = new AccesoDatos();
            DataTable dt = bd.obtenerDatos("SELECT * FROM Provincias");
            return dt;
        }
    }

}
